//
// Created by champrin on 2022/6/27.
//

#ifndef UNTITLED_ARMOR_H
#define UNTITLED_ARMOR_H

#include <opencv2/opencv.hpp>

typedef enum {
    RED = 0,
    BLUE
} EnemyColor;

class Armor {

private:


    std::vector<cv::Point2f> pnt;

    EnemyColor color;
    //解出来的旋转向量
    cv::Mat rVec;
    //解出来的平移向量
    cv::Mat tVec;

public:

    cv::Point2f center;
    cv::Point2f p1;
    cv::Point2f p2;

    void Transform2P(cv::RotatedRect &r1, cv::RotatedRect &r2);

    void DrawRectangle(cv::Mat &img, const cv::Scalar &recColor);

    void SetEnemyColor(EnemyColor enemyColor);

    void SolvePNP();

    float GetDistance();
};

#endif //UNTITLED_ARMOR_H
